● 三、 存储结构
ML卡共384位,分为12页,每页为4个字节。存储结构如下:
页号 |
字节0 |
字节1 |
字节2 |
字节3 |
|
0 |
?SerNr(0) |
SerNr(1) |
SerNr(2) |
SerNr(3) |
Block 0 |
1 |
SerNr(4) |
Size Code |
Type(0) |
Type(1) |
2 |
Data(0) |
Data(1) |
Data(2) |
Data(3) |
Data1 |
3 |
Data(4) |
Data(5) |
Data(6) |
Data(7) |
4 |
Value(0) |
Value(1) |
Value_b(0) |
Value_b(1) |
Value |
5 |
Value(0) |
Value(1) |
Value_b(0) |
Value_b(1) |
6 |
KeyA(0) |
KeyA(1) |
KeyA(2) |
KeyA(3) |
KeyA |
7 |
KeyA(4) |
KeyA(5) |
AC-A |
AC-A_b |
8 |
KeyB(0) |
KeyB(1) |
KeyB(2) |
KeyB(3) |
KeyB |
9 |
KeyB(4) |
KeyB(5) |
AC-B |
AC-B_b |
A |
Data(0) |
Data(1) |
Data(2) |
Data(3) |
Data2 |
B |
Data(4) |
Data(5) |
Data(6) |
Data(7) |
( 注:_b表示取反 )
1.第0、1页存放着卡的序列号等信息,只可读。
2.第2、3页及A、B两页数据块,可存贮一般的数据。
3.和4、5页为数值块,可作为钱包使用,两字节的值以正和反两种形式存贮。只有减值操作,没有加值操作。如果不做钱包使用,则可以做为普通的数据块使用。
4.第6、7、8、9页存储着密码A(6字节)、密码B(6字节)及存取控制。
5.第7页的2字节、第9页的2字节为存储控制,存储控制以正和反的形式存两次。
Bit 7 |
--- |
Bit 6 |
--- |
Bit 5 |
Data2—Write –Enable |
Bit 4 |
Data2—Read—Enable |
Bit 3 |
Key+AC—Write—Enable |
Bit 2 |
Value—Write—Enable |
Bit 1 |
Data1—Write—Enable |
Bit 0 |
Data1—Read—Enable |
例如:AC-A的初始值为ff,即‘11111111’,即:
Data1:可读、可写;
Value:可写;
AC-A:可写;
Data2:可读、可写;
6.一次写一页(4个字节),一次读两页(8个字节)。
|